let {User} = require('../models');
 

//显示登陆页面
let login_fn=async (ctx,next)=>{
    ctx.render('login.html')
};
let index_fn=async (ctx,next)=>{
    ctx.render('index.html')
};

//显示注册页面
let registe_fn=async (ctx,next)=>{
    ctx.render('registe.html')
};


//注册请求处理

let registeDone_fn=async (ctx,next)=>{
    //获取从前端传入的信息
    let uid=ctx.request.body.username.trim() || '';
    let pwd=ctx.request.body.password.trim() || '';
    let repwd=ctx.request.body.password.trim() || '';

    let res='';

    // 判断用户名、密码是否为空，为空则返回提示信息；不为空则尝试从数据库中查询是否有同名用户，如果没有，则创建用户；如果有，则返回提示信息；
    if (uid.length > 0 && pwd.length > 0 && pwd === repwd) {
        let row=await User.findOne({
            where:{
                username:uid
            }
        });

        let u2Json=JSON.stringify(row);
        if(u2Json=== 'null'){
            let u1=await User.create({
                username:uid,
                password:pwd
            });
            let u1Json=JSON.stringify(u1);

            if(u1Json=== 'null'){
                res={code:1000,msg:'因为网络或者服务器原因，注册失败!'}
            }else{
                res={code:200,msg:'用户注册成功!'};
            }
        }else{
            res={code:1000,msg:'用户名已经存在，请重试!'};
        }
    }else{
        res={code:1000,msg:'用户名和密码不能为空，且两次密码因该一致!'};
    };

    // 返回消息
    ctx.body = JSON.stringify(res);
};

module.exports={
    '/':['get',index_fn],
    '/registe':['get',registe_fn],
    '/login':['get',login_fn],
    '/registeDone':['post',registeDone_fn]
};